package com.ruoyi.system.service;

import com.ruoyi.system.domain.SalonOrderDetail;
import com.ruoyi.system.domain.SalonService;
import com.ruoyi.system.vo.OrderServiceVo;

import java.util.List;
import java.util.Map;

/**
 * 订单管理Service接口
 * 
 * @author 23
 * @date 2022-03-31
 */
public interface ISalonOrderDetailService 
{
    /**
     * 查询订单明细
     * 
     * @param orderServiceId 订单明细主键
     * @return 订单明细
     */
    SalonOrderDetail queryById(Integer orderServiceId);

    /**
     * 查询订单明细列表
     * 
     * @param salonOrderDetail 订单明细
     * @return 订单明细集合
     */
    List<SalonOrderDetail> queryAll(SalonOrderDetail salonOrderDetail);

    /**
     * 新增订单明细
     * 
     * @param salonOrderDetail 订单明细
     * @return 结果
     */
    SalonOrderDetail insert(SalonOrderDetail salonOrderDetail);

    /**
     * 修改订单明细
     * 
     * @param salonOrderDetail 订单明细
     * @return 结果
     */
    SalonOrderDetail update(SalonOrderDetail salonOrderDetail);

    /**
     * 通过主键删除订单明细信息
     * 
     * @param orderServiceId 订单明细主键
     * @return 结果
     */
    boolean deleteById(Integer orderServiceId);

    /**
     * 根据订单编号查询订单信息和业务关键信息
     *
     * @param orderNo 订单编号
     * @return 订单信息，订单选中的服务
     */
    Map<String,Object> getOrderAndBusinessInformationByOrderNo(String orderNo);

    /**
     * 添加服务到订单明细
     * @param orderServiceVo 传值对象
     * @return 订单明细
     */
    List<SalonService> enterLineOrderService(OrderServiceVo orderServiceVo);

    /**
     * 确认下单
     * @param orderNo 订单编号
     * @return 操作结果
     */
    boolean ConfirmChooseService(String orderNo);

}
